home *** CD-ROM | disk | FTP | other *** search
/ Amiga Developer CD 2.1 / Amiga Developer CD v2.1.iso / Reference / DevCon / Milan_1991 / Devcon91.2 / Bullet / libraries / glyph.h < prev    next >
Encoding:
C/C++ Source or Header  |  1992-09-01  |  1.8 KB  |  48 lines

  1. #ifndef  LIBRARIES_GLYPH_H
  2. #define  LIBRARIES_GLYPH_H
  3. /*
  4. **    $Id: glyph.h,v 9.0 91/04/09 20:02:37 kodiak Exp $
  5. **
  6. **    libraries/glyph.h -- structures for glyph libraries
  7. **
  8. **    (C) Copyright 1991 Robert R. Burns
  9. **        All Rights Reserved
  10. */
  11.  
  12. #ifndef  EXEC_NODES_H
  13. #include <exec/nodes.h>
  14. #endif
  15.  
  16. /* A GlyphEngine must be acquired via OpenEngine and is read-only */
  17. struct GlyphEngine {
  18.     struct Library *gle_Library; /* engine library */
  19.     char *gle_Name;        /* library basename: e.g. "bullet" */
  20.     /* private library data follows... */
  21. };
  22.  
  23. typedef LONG FIXED;        /* 32 bit signed w/ 16 bits of fraction */
  24.  
  25. struct GlyphMap {
  26.     UWORD   glm_BMModulo;    /* # of bytes in row: always multiple of 4 */
  27.     UWORD   glm_BMRows;        /* # of rows in bitmap */
  28.     UWORD   glm_BlackLeft;    /* # of blank pixel columns at left */
  29.     UWORD   glm_BlackTop;    /* # of blank rows at top */
  30.     UWORD   glm_BlackWidth;    /* span of contiguous non-blank columns */
  31.     UWORD   glm_BlackHeight;    /* span of contiguous non-blank rows */
  32.     FIXED   glm_XOrigin;    /* distance from upper left corner of bitmap */
  33.     FIXED   glm_YOrigin;    /*   to initial CP, in fractional pixels */
  34.     WORD    glm_X0;        /* approximation of XOrigin in whole pixels */
  35.     WORD    glm_Y0;        /* approximation of YOrigin in whole pixels */
  36.     WORD    glm_X1;        /* approximation of XOrigin + Width */
  37.     WORD    glm_Y1;        /* approximation of YOrigin + Width */
  38.     FIXED   glm_Width;        /* character advance, as fraction of em width */
  39.     UBYTE  *glm_BitMap;        /* actual glyph bitmap */
  40. };
  41.  
  42. struct GlyphWidthEntry {
  43.     struct MinNode gwe_Node;    /* on list returned by OT_WidthList inquiry */
  44.     UWORD   gwe_Code;        /* entry's character code value */
  45.     FIXED   gwe_Width;        /* character advance, as fraction of em width */
  46. };
  47. #endif   /* LIBRARIES_GLYPH_H */
  48.